//
//  filter.hpp   --- Handles statistical filtration
//
#ifndef FILTER_HPP
#define FILTER_HPP

class Filter : public Object
{
private:
    // Filtration parameters
    int   spreadMin;                     // range of spread values
    int   spreadMax;                     // range of spread values
    int   averageMin;                    // range of averages
    int   averageMax;                    // range of averages
    int   deviationMin;                  // range of std. deviations
    int   deviationMax;                  // range of std. deviations
    int   evenMin;                       // range of Even numbers
    int   evenMax;
    int   gapMin;                        // range of gap averages
    int   gapMax;                        // range of gap averages
    int   cumMin;                        // running average range
    int   cumMax;
    long  runningSum;                    // running sum of last 9 drawings

public:
    Filter();
    int     isA() { return OBJTYPE_APP; }
    BOOL editFilterParams();
    BOOL showFilterParams();
    BOOL getFilterParams();
    BOOL isFiltered( int n, LNUM *listOfNumbers );
};


#endif
